package cn.lxh.pojo.vo;

import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author lxh Create Time: 2024/1/16 17:16
 * 乘客账单参数
 */
@Data
@Accessors(chain = true)
public class CustomerOrderBillVo {

    // 订单状态
    private Integer status;
    // 司机头像
    private String driverPhoto;
    // 司机姓名
    private String driverName;
    // 司机电话
    private String driverPhone;
    // 开始位置
    private String startPlace;
    // 结束位置
    private String endPlace;
    // 订单号
    private String orderNo;
    // 创建时间
    private Date createTime;
    // 真实里程
    private BigDecimal realMileage;
    // 基础里程
    private BigDecimal baseMileage;
    // 基础里程价格
    private BigDecimal baseMileageAmount;
    // 超出每公里价格
    private BigDecimal exceedBaseMileageEveryKmAmount;
    // 里程费
    private BigDecimal mileageAmount;
    // 超出公里数
    private BigDecimal exceedBaseMileage;
    // 等待时长
    private Integer waitingMinute;
    // 免费分钟数
    private Integer freeBaseWaitingMinute;
    // 超出免费等时分钟，每分钟多少钱
    private BigDecimal execeedBaseWaitingEveryKmAmount;
    // 等时费
    private BigDecimal waitingAmount;
    // 超出分钟数
    private Integer execeedBaseWaitingMinute;
    // 返程里程(等于订单里程)
    private BigDecimal returnMileage;
    // 返程费免费公里数
    private BigDecimal freeBaseReturnMileage;
    // 超出免费返程公里数，每公里收取的费用
    private BigDecimal exceedBaseReturnEveryKmAmount;
    // 返程费(超出公里*每公里价格)
    private BigDecimal returnAmont;
    // 超出免费返程部分的里程
    private BigDecimal exceedFreeBaseReturnMileage;
    // 停车费
    private BigDecimal parkingAmount;
    // 路桥费
    private BigDecimal tollAmount;
    // 其他费用
    private BigDecimal otherAmount;
    // 顾客好处费
    private BigDecimal favourAmount;
    // 订单总金额
    private BigDecimal realOrderAmount;
    // 代金券面额
    private BigDecimal voucherAmount;

    // 真实支付金额
    public BigDecimal getRealPay() {
        return getRealOrderAmount().subtract(getVoucherAmount() == null ? BigDecimal.ZERO : getVoucherAmount());
    }
}
